// 车辆状态常量
export const VEHICLE_STATUS = {
  IDLE: {
    value: 0,
    label: '空闲'
  },
  IN_USE: {
    value: 1,
    label: '使用中'
  },
  MAINTENANCE: {
    value: 2,
    label: '维修中'
  }
}

// 车辆状态选项
export const VEHICLE_STATUS_OPTIONS = Object.values(VEHICLE_STATUS)

// 驾驶员状态常量
export const DRIVER_STATUS = {
  ACTIVE: {
    value: 1,
    label: '启用'
  },
  INACTIVE: {
    value: 0,
    label: '停用'
  }
}

// 驾驶员状态选项
export const DRIVER_STATUS_OPTIONS = Object.values(DRIVER_STATUS)

// 卡片状态常量
export const CARD_STATUS = {
  ACTIVE: {
    value: 1,
    label: '启用'
  },
  INACTIVE: {
    value: 0,
    label: '停用'
  }
}

// 卡片状态选项
export const CARD_STATUS_OPTIONS = Object.values(CARD_STATUS)

// 油品类型常量
export const FUEL_TYPE = {
  GASOLINE_92: {
    value: '92#汽油',
    label: '92#汽油'
  },
  GASOLINE_95: {
    value: '95#汽油',
    label: '95#汽油'
  },
  GASOLINE_98: {
    value: '98#汽油',
    label: '98#汽油'
  },
  DIESEL: {
    value: '0#柴油',
    label: '0#柴油'
  }
}

// 油品类型选项
export const FUEL_TYPE_OPTIONS = Object.values(FUEL_TYPE)

// 支付方式常量
export const PAYMENT_METHOD = {
  CASH: {
    value: '现金',
    label: '现金'
  },
  CARD: {
    value: '银行卡',
    label: '银行卡'
  },
  WECHAT: {
    value: '微信',
    label: '微信'
  },
  ALIPAY: {
    value: '支付宝',
    label: '支付宝'
  }
}

// 支付方式选项
export const PAYMENT_METHOD_OPTIONS = Object.values(PAYMENT_METHOD)

// 出车记录状态常量
export const USAGE_STATUS = {
  IN_PROGRESS: {
    value: 1,
    label: '进行中'
  },
  COMPLETED: {
    value: 2,
    label: '已完成'
  }
}

// 出车记录状态选项
export const USAGE_STATUS_OPTIONS = Object.values(USAGE_STATUS)

// 违章记录状态常量
export const VIOLATION_STATUS = {
  PENDING: {
    value: 1,
    label: '待处理'
  },
  PROCESSING: {
    value: 2,
    label: '处理中'
  },
  COMPLETED: {
    value: 3,
    label: '已处理'
  }
}

// 违章记录状态选项
export const VIOLATION_STATUS_OPTIONS = Object.values(VIOLATION_STATUS)

// 事故记录状态常量
export const ACCIDENT_STATUS = {
  PENDING: {
    value: 1,
    label: '待处理'
  },
  PROCESSING: {
    value: 2,
    label: '处理中'
  },
  COMPLETED: {
    value: 3,
    label: '已处理'
  }
}

// 事故记录状态选项
export const ACCIDENT_STATUS_OPTIONS = Object.values(ACCIDENT_STATUS)

// 保险状态常量
export const INSURANCE_STATUS = {
  VALID: {
    value: 1,
    label: '有效'
  },
  EXPIRED: {
    value: 2,
    label: '已过期'
  },
  EXPIRING_SOON: {
    value: 3,
    label: '即将到期'
  }
}

// 保险状态选项
export const INSURANCE_STATUS_OPTIONS = Object.values(INSURANCE_STATUS)

// 保养状态常量
export const SERVICE_STATUS = {
  PENDING: {
    value: 1,
    label: '待保养'
  },
  COMPLETED: {
    value: 2,
    label: '已保养'
  },
  EXPIRED: {
    value: 3,
    label: '保养过期'
  }
}

// 保养状态选项
export const SERVICE_STATUS_OPTIONS = Object.values(SERVICE_STATUS)

// 年检结果常量
export const INSPECTION_RESULT = {
  PASS: {
    value: 1,
    label: '合格'
  },
  FAIL: {
    value: 2,
    label: '不合格'
  },
  RECHECK: {
    value: 3,
    label: '复检'
  }
}

// 年检结果选项
export const INSPECTION_RESULT_OPTIONS = Object.values(INSPECTION_RESULT)

// 维修状态常量
export const REPAIR_STATUS = {
  IN_PROGRESS: {
    value: 1,
    label: '进行中'
  },
  COMPLETED: {
    value: 2,
    label: '已完成'
  }
}

// 维修状态选项
export const REPAIR_STATUS_OPTIONS = Object.values(REPAIR_STATUS)

// 用户角色常量
export const USER_ROLE = {
  ADMIN: {
    value: 'admin',
    label: '管理员'
  },
  USER: {
    value: 'user',
    label: '普通用户'
  },
  DRIVER: {
    value: 'driver',
    label: '驾驶员'
  }
}

// 用户角色选项
export const USER_ROLE_OPTIONS = Object.values(USER_ROLE)

// 用户状态常量
export const USER_STATUS = {
  ACTIVE: {
    value: 1,
    label: '启用'
  },
  INACTIVE: {
    value: 0,
    label: '停用'
  }
}

// 用户状态选项
export const USER_STATUS_OPTIONS = Object.values(USER_STATUS)

// 性别常量
export const GENDER = {
  MALE: {
    value: '男',
    label: '男'
  },
  FEMALE: {
    value: '女',
    label: '女'
  }
}

// 性别选项
export const GENDER_OPTIONS = Object.values(GENDER)

// 部门常量
export const DEPARTMENT = {
  ADMINISTRATIVE: {
    value: '行政部',
    label: '行政部'
  },
  FINANCE: {
    value: '财务部',
    label: '财务部'
  },
  SALES: {
    value: '销售部',
    label: '销售部'
  },
  OPERATION: {
    value: '运营部',
    label: '运营部'
  },
  TECH: {
    value: '技术部',
    label: '技术部'
  }
}

// 部门选项
export const DEPARTMENT_OPTIONS = Object.values(DEPARTMENT)

// 车辆类型常量
export const VEHICLE_TYPE = {
  SEDAN: {
    value: 'sedan',
    label: '轿车'
  },
  SUV: {
    value: 'suv',
    label: 'SUV'
  },
  VAN: {
    value: 'van',
    label: '面包车'
  },
  TRUCK: {
    value: 'truck',
    label: '卡车'
  },
  BUS: {
    value: 'bus',
    label: '客车'
  }
}

// 车辆类型选项
export const VEHICLE_TYPE_OPTIONS = Object.values(VEHICLE_TYPE)

// 卡类型常量
export const CARD_TYPE = {
  FUEL: {
    value: '加油卡',
    label: '加油卡'
  },
  ETC: {
    value: 'ETC卡',
    label: 'ETC卡'
  }
}

// 卡类型选项
export const CARD_TYPE_OPTIONS = Object.values(CARD_TYPE)

// 违章类型常量
export const VIOLATION_TYPE = {
  SPEEDING: {
    value: '超速',
    label: '超速'
  },
  RED_LIGHT: {
    value: '闯红灯',
    label: '闯红灯'
  },
  ILLEGAL_PARKING: {
    value: '违法停车',
    label: '违法停车'
  },
  NO_SEATBELT: {
    value: '不系安全带',
    label: '不系安全带'
  },
  PHONE_DRIVING: {
    value: '开车打电话',
    label: '开车打电话'
  },
  OTHER: {
    value: '其他',
    label: '其他'
  }
}

// 违章类型选项
export const VIOLATION_TYPE_OPTIONS = Object.values(VIOLATION_TYPE)

// 事故类型常量
export const ACCIDENT_TYPE = {
  COLLISION: {
    value: '碰撞',
    label: '碰撞'
  },
  SCRATCH: {
    value: '刮擦',
    label: '刮擦'
  },
  REAR_END: {
    value: '追尾',
    label: '追尾'
  },
  OTHER: {
    value: '其他',
    label: '其他'
  }
}

// 事故类型选项
export const ACCIDENT_TYPE_OPTIONS = Object.values(ACCIDENT_TYPE)

// 保险类型常量
export const INSURANCE_TYPE = {
  COMPULSORY: {
    value: '交强险',
    label: '交强险'
  },
  COMMERCIAL: {
    value: '商业险',
    label: '商业险'
  },
  THIRD_PARTY: {
    value: '第三者责任险',
    label: '第三者责任险'
  },
  VEHICLE_DAMAGE: {
    value: '车损险',
    label: '车损险'
  },
  OTHER: {
    value: '其他',
    label: '其他'
  }
}

// 保险类型选项
export const INSURANCE_TYPE_OPTIONS = Object.values(INSURANCE_TYPE)

// 保养类型常量
export const SERVICE_TYPE = {
  REGULAR: {
    value: '常规保养',
    label: '常规保养'
  },
  ENGINE: {
    value: '发动机保养',
    label: '发动机保养'
  },
  TRANSMISSION: {
    value: '变速箱保养',
    label: '变速箱保养'
  },
  BRAKE: {
    value: '刹车系统保养',
    label: '刹车系统保养'
  },
  OTHER: {
    value: '其他',
    label: '其他'
  }
}

// 保养类型选项
export const SERVICE_TYPE_OPTIONS = Object.values(SERVICE_TYPE)

// 检测类型常量
export const INSPECTION_TYPE = {
  ANNUAL: {
    value: '年检',
    label: '年检'
  },
  EMISSIONS: {
    value: '尾气检测',
    label: '尾气检测'
  },
  SAFETY: {
    value: '安全检测',
    label: '安全检测'
  },
  OTHER: {
    value: '其他',
    label: '其他'
  }
}

// 检测类型选项
export const INSPECTION_TYPE_OPTIONS = Object.values(INSPECTION_TYPE)

// 维修类型常量
export const REPAIR_TYPE = {
  ENGINE: {
    value: '发动机维修',
    label: '发动机维修'
  },
  TRANSMISSION: {
    value: '变速箱维修',
    label: '变速箱维修'
  },
  ELECTRICAL: {
    value: '电路系统维修',
    label: '电路系统维修'
  },
  BRAKE: {
    value: '刹车系统维修',
    label: '刹车系统维修'
  },
  BODY: {
    value: '车身维修',
    label: '车身维修'
  },
  OTHER: {
    value: '其他',
    label: '其他'
  }
}

// 维修类型选项
export const REPAIR_TYPE_OPTIONS = Object.values(REPAIR_TYPE)

// 分析周期常量
export const ANALYSIS_PERIOD = {
  MONTH: {
    value: 'month',
    label: '月度'
  },
  QUARTER: {
    value: 'quarter',
    label: '季度'
  },
  YEAR: {
    value: 'year',
    label: '年度'
  }
}

// 分析周期选项
export const ANALYSIS_PERIOD_OPTIONS = Object.values(ANALYSIS_PERIOD)

// 月份选项
export const MONTH_OPTIONS = [
  { value: 1, label: '1月' },
  { value: 2, label: '2月' },
  { value: 3, label: '3月' },
  { value: 4, label: '4月' },
  { value: 5, label: '5月' },
  { value: 6, label: '6月' },
  { value: 7, label: '7月' },
  { value: 8, label: '8月' },
  { value: 9, label: '9月' },
  { value: 10, label: '10月' },
  { value: 11, label: '11月' },
  { value: 12, label: '12月' }
]

// 季度选项
export const QUARTER_OPTIONS = [
  { value: 1, label: '第一季度' },
  { value: 2, label: '第二季度' },
  { value: 3, label: '第三季度' },
  { value: 4, label: '第四季度' }
]

// 年份选项（近5年）
export const getYearOptions = () => {
  const currentYear = new Date().getFullYear()
  const years = []
  
  for (let i = 0; i < 5; i++) {
    const year = currentYear - i
    years.push({
      value: year,
      label: `${year}年`
    })
  }
  
  return years
}

// 分页配置
export const DEFAULT_PAGE_SIZE = 10
export const DEFAULT_PAGE_SIZES = [10, 20, 50, 100]

// 操作类型
export const OPERATION_TYPE = {
  LOGIN: { value: 'login', label: '登录' },
  CREATE: { value: 'create', label: '新增' },
  UPDATE: { value: 'update', label: '修改' },
  DELETE: { value: 'delete', label: '删除' },
  EXPORT: { value: 'export', label: '导出' }
}

export const OPERATION_TYPE_OPTIONS = Object.values(OPERATION_TYPE)

// 系统名称配置
export const SYSTEM_CONFIG = {
  SYSTEM_NAME: '车辆管理系统',
  SYSTEM_VERSION: 'v1.1.0',
  COMPANY_NAME: '某某企业',
  COPYRIGHT: '© 2023 某某企业'
}

// 表单规则（可根据需要扩展）
export const FORM_RULES = {
  required: { required: true, message: '此项不能为空', trigger: 'blur' },
  email: { type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur' },
  phone: { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' },
  idcard: { pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '请输入正确的身份证号码', trigger: 'blur' },
  number: { type: 'number', message: '请输入数字', trigger: 'blur' }
} 